#include "../include/DirScanner.h"
#include <iostream>

DirScanner::DirScanner() {
    traverse(""); // 调用traverse方法加载路径
}

DirScanner::~DirScanner() {
}

vector<string>& DirScanner::getFiles() {
    return _files;   //得到存放文件路径的vector容器
}

//traverse目的：遍历配置文件中的路径，将路径存放到_files的vector容器中
void DirScanner::traverse(string dir) {
    Configuration* config = Configuration::getInstance();
    auto configMap = config->getConfigMap();    //ConFiguration类构造完成时，就存在map容器
                                                //getConfigMap()得到map容器，存有文件名和路径名

    // 将配置文件中map的路径存放到_files的vector容器中
    for(const auto& entry:configMap){
        _files.push_back(entry.second);
    }

    /*
    //调试信息
    std::cout << "Loaded files:" << std::endl;
    for (const auto& file : _files) {
        std::cout << file << std::endl;
    }
    */
}
